/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						script_increase_experience.h

	$Header: /heroes4/script_increase_experience.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( SCRIPT_INCREASE_EXPERIENCE_H_INCLUDED )
#define SCRIPT_INCREASE_EXPERIENCE_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "script_action_type.h"
#include "script_hero_adjustment_action.h"
#include "script_target_type.h"
#include "sized_int_types.h"

// --------------------------------------------------------------------------
// t_script_increase_experience class
// --------------------------------------------------------------------------

class t_script_increase_experience
	:	public	t_script_hero_adjustment_action< t_uint32 >
{
public:
	virtual void	add_icons(t_basic_dialog* dialog) const;

	virtual void	execute(t_script_context_army const& context) const;

private:
	virtual void	make_adjustment(t_adventure_map* map, t_hero* hero) const;
};

SPECIALIZE_SCRIPT_ACTION( k_script_action_increase_experience, t_script_increase_experience );

// --------------------------------------------------------------------------
// t_script_increase_experience_level class
// --------------------------------------------------------------------------

class t_script_increase_experience_level
	:	public t_script_hero_adjustment_action< t_uint8 >
{
public:
	virtual void	add_icons(t_basic_dialog* dialog) const;

	virtual void	execute(t_script_context_army const& context) const;

private:
	virtual void	make_adjustment(t_adventure_map* map, t_hero* hero) const;
};

SPECIALIZE_SCRIPT_ACTION( k_script_action_increase_experience_level, t_script_increase_experience_level );

#endif // !defined( SCRIPT_INCREASE_EXPERIENCE_H_INCLUDED )
